package hamster.csustef.common.util;

import java.io.File;

public class MyFileUtil {

    public static boolean removeTargetFoleder(String path){
        File file = new File(path);
        //  如果参数为null  需要做安全处理
        if(file == null){
            return false;
        }
        //  文件如果不存在  可以直接返回false
        if(!file.exists()){
            return false;
        }
        //  如果是文件 或者 空文件夹,可以直接做 delete() 操作
        if(file.isFile() || file.list().length == 0){
            return file.delete();
        }
        //  递归处理
        //  处理所有子文件以及文件夹
        try{
            for(File f : file.listFiles()){
                // 遇到文件夹  优先递归处理
                if(f.isDirectory()){
                    removeTargetFoleder(f.getAbsolutePath());
                }
                //  如果不是文件夹  可以直接删除
                //  如果是文件夹 也是处理后的空文件夹 也可以直接删除
                f.delete();
            }
        }catch(Exception e){
            //  如果删除大量文件和文件夹  处理过程中可能出现 删除失败 或者  取消删除情况
            return false;
        }
        return file.delete();
    }
}
